	<?php
class Pages_layoutModel extends Model {
	//获取并格式化布局
	public function formatLayout($title){
		$moduleDB=D('Modules_layout');
		$memberDB=D('Member');
		$member_groupDB=D('Member_group');
		$format=['appL','appM','appR'];
		
		//先判断当前用户有无数据，有则读取，无则调用当前角色的图个默认布局，再无则使用系统的默认布局
		$result=$this->where(['title'=>$title,'member_id'=>session(C('USER_AUTH_KEY'))])->Field('layout,source')->find();
		if($result==false){//先获取角色ID，再获取角色的布局
			$groupid=$memberDB->where(['id'=>session(C('USER_AUTH_KEY'))])->getField('group_id');
			$result=$member_groupDB->where(['id'=>$groupid])->Field('layout,source')->find();
		}
		if($result==false){$result=$this->where(['id'=>1])->Field('layout,source')->find();}
		if($result==false){return false;}
		
		//将数据库提取出来的数据格式化为Js所需的样子
		$source=unserialize($result['source']);
		$data=[];
		$modules=$moduleDB->where(['page_name'=>$title,'status'=>1])->select();
		/*  原格式：
			$source:
			{
				'appL'=>[
					0 => [ A,B,C ]
					。。。
				]	
			}
			转变后：
			$data:
			{
				'appL'=>[
					0=>[
						'A'=> [B,C]
					]
					。。。
				]	
			}
		*/
		
		foreach($modules as $vo){
			$judge=false;
			foreach($source as $k=>$v){
				foreach($v as $key=>$val){
					if($val[0]==$vo['title']){
						$i=isset($data[$k][$key])?count($data[$k]):$key;
						$data[$k][$i]=[$val[0]=>[$vo['content'],$vo['remark'],$vo['name'],$val[1]]];
						$judge=true;
					}	
				}	
			}
			if(!$judge){
				$data[$format[$vo['position']]][]=[$vo['title']=>[$vo['content'],$vo['remark'],$vo['name'],false]];
			}
		}
		//检查是否符合format的基本布局
		foreach($format as $v){
			if(!isset($data[$v])){
				$data[$v]=[];
			}	
		}
		return ['data'=>$data,'layout'=>$result['layout'],'statu'=>true];
	}
}